#ifndef ___fat32_lista_transacciones_tipo_B

#define ___fat32_lista_transacciones_tipo_B 1

#include "f32_trB1.c"
#include "f32_trB2.c"
#include "f32_trB3.c"
#include "f32_trB4.c"

enum fat32_transacciones_B {
  FAT32_ABRIR_ARCHIVO = 21,
  FAT32_LEER_ARCHIVO = 22,
  FAT32_ESCRIBIR_ARCHIVO = 23,
  FAT32_CERRAR_ARCHIVO = 24
};

void fat32_transaccion_de_manejo_de_archivos(unsigned char, unsigned int, unsigned long long, unsigned long, unsigned long, void *);

void fat32_transaccion_de_manejo_de_archivos (unsigned char tipo, unsigned int solicitante, unsigned long long descriptor,
                                                               unsigned long inicio, unsigned long cantidad, void * datos) {
  switch (tipo) {
  case FAT32_ABRIR_ARCHIVO:
    fat32tr_abrir_archivo(solicitante, datos, descriptor);
    break;
  case FAT32_LEER_ARCHIVO:
    fat32tr_leer_archivo(solicitante, descriptor, inicio, cantidad);
    break;
  case FAT32_ESCRIBIR_ARCHIVO:
    fat32tr_escribir_archivo(solicitante, descriptor, inicio, cantidad, datos);
    break;
  case FAT32_CERRAR_ARCHIVO:
    fat32tr_cerrar_archivo(descriptor);
    break;
  }
}

#endif